/* eslint-disable */
// #ifdef H5
// import { wechatConfig } from '@/api/basic';
import $mConfig from '@/config/index.config';
import jweixin from '@/components/common/jweixin';
// #endif
// import { isBindingCheck } from '@/api/login';
// import { payCreate } from '@/api/basic';
import { http } from '@/utils/request';
import mHelper from '@/utils/helper';
import mRouter from '@/utils/router';
// import { orderPay } from '@/api/product';
// const API = require('@/utils/api/order.js').default;
const API = require('@/utils/api/user.js').default;
const $ = require('@/utils/api.js');

export default {
	// 判断是否公众号（微信H5）
	isWechat() {
		// #ifdef H5
		const ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == 'micromessenger') {
			return true;
		} else {
			return false;
		}
		// #endif
	},

	// wxjssdk
	async wxConfigH5(url) {
		if (this.isWechat()) {
			const jsApiList = JSON.stringify([
				'chooseWXPay',
				'scanQRCode',
				'updateAppMessageShareData',
				'updateTimelineShareData'
			]);
			await http
				.post(`${wechatConfig}`, {
					url: url,
					jsApiList, // 需要调用微信的原生方法
					debug: false // 是否打开调试
				})
				.then(r => {
					jweixin.config({
						...r.data
					});
				});
		}
	},

	/*
	 *@des 微信支付
	 *
	 *@param order_group 订单:order;订单:tyOrder;充值:recharge;保障:bazhang;
	 *@param data 订单 {“order_id”:199} 充值 {“money”:100};
	 */
	async weixinPay(order_group, data, route = '/pages/user/money/success', code) {
		// // #ifdef H5
		// if (!this.isWechat()) {
		// 	mHelper.toast('仅支持微信H5、微信小程序、APP支付');
		// 	return;
		// }
		// // #endif
		// // #ifdef MP-QQ
		// mHelper.toast('QQ小程序暂不支持充值');
		// return;
		// // #endif



		// #ifdef APP-PLUS
		await $.ajax({
			url: API.memberPayApi,
			data: {
				orderGroup:order_group,
				payOrderNo: data.orderNo,
				payMethod: data.payMethod,
				memberId: data.memberId?data.memberId:0,
				amount: data.amount?data.amount:0
			},
			method: 'POST',
			success(res) {
					console.log("res",res)
				let options = res.data
				uni.requestPayment({
					provider: 'wxpay', // 微信支付
					orderInfo: options.message,
					success(res) {



						$.go('/pages/order/suc', 2);
						// uni.showToast({
						// 	// title: res.errMsg,
						// 	title:"支付已取消",
						// 	icon: 'none',
						// 	duration: 2000
						// })

						// if (options.error) {
						// 	options.error(res.data);
						// }
					},
					fail(res) {
						uni.showToast({
							// title: res.errMsg,
							title:"支付已取消",
							icon: 'none',
							duration: 2000
						})

						// if (options.error) {
						// 	options.error(res.data);
						// }
					}
				})
		    }
		})

		// await http
		// 	.post(`${payCreate}`, {
		// 		order_group,
		// 		pay_type: 1,2
		// 		trade_type: 'app',
		// 		data
		// 	})
		// 	.then(r => {
		// 		uni.requestPayment({
		// 			provider: 'wxpay', // 微信支付
		// 			orderInfo: JSON.stringify(r.data.config), //微信订单数据 r.data.config
		// 			success: function() {
		// 				mHelper.toast('支付成功');
		// 				mRouter.redirectTo({ route });
		// 			},
		// 			fail: function(err) {
		// 				console.log('err', err);
		// 				mHelper.toast('支付已取消');
		// 			}
		// 		});
		// 	});
		// //#endif
		// // #ifndef APP-PLUS
		// await http
		// 	.post(`${isBindingCheck}`, {
		// 		// #ifdef H5
		// 		oauth_client: 'wechat',
		// 		// #endif
		// 		// #ifdef MP-WEIXIN
		// 		oauth_client: 'wechatMp'
		// 		// #endif
		// 	})
		// 	.then(async res => {
		// 		if (res.data.openid) {
		// 			await http
		// 				.post(`${payCreate}`, {
		// 					order_group,
		// 					pay_type: 1,
		// 					// #ifdef H5
		// 					trade_type: 'js',
		// 					// #endif
		// 					// #ifdef MP-WEIXIN
		// 					trade_type: 'mini_program',
		// 					// #endif
		// 					data,
		// 					openid: res.data.openid
		// 				})
		// 				.then(r => {
		// 					// #ifdef H5
		// 					jweixin.ready(() => {
		// 						jweixin.chooseWXPay({
		// 							...r.data.config,
		// 							success() {
		// 								mHelper.toast('支付成功');
		// 								mRouter.redirectTo({ route });
		// 							},
		// 							fail(res) {
		// 								// 支付成功后的回调函数
		// 								mHelper.toast('支付已取消');
		// 							}
		// 						});
		// 					});
		// 					// #endif
		// 					// #ifdef MP-WEIXIN
		// 					uni.requestPayment({
		// 						...r.data.config,
		// 						timeStamp: r.data.config.timestamp,
		// 						success: () => {
		// 							mHelper.toast('支付成功');
		// 							mRouter.redirectTo({ route });
		// 						},
		// 						fail: res => {
		// 							mHelper.toast('支付已取消');
		// 						},
		// 						complete: () => {}
		// 					});
		// 					// #endif
		// 				});
		// 		} else {
		// 			// #ifdef MP-WEIXIN
		// 			uni.login({
		// 				provider: 'weixin',
		// 				success: function(loginRes) {
		// 					http
		// 						.post(`${payCreate}?code=${loginRes.code}`, {
		// 							order_group,
		// 							pay_type: 1,
		// 							trade_type: 'mini_program',
		// 							data
		// 						})
		// 						.then(r => {
		// 							uni.requestPayment({
		// 								...r.data.config,
		// 								timeStamp: r.data.config.timestamp,
		// 								success: () => {
		// 									mHelper.toast('支付成功');
		// 									mRouter.redirectTo({ route });
		// 								},
		// 								fail: res => {
		// 									mHelper.toast('支付已取消');
		// 								},
		// 								complete: () => {}
		// 							});
		// 						});
		// 				},
		// 				fail: function(err) {
		// 					mHelper.log(err);
		// 				}
		// 			});
		// 			// #endif
		// 			// #ifdef H5
		// 			await http
		// 				.post(`${payCreate}?code=${code}`, {
		// 					order_group,
		// 					pay_type: 1,
		// 					trade_type: 'js',
		// 					data
		// 				})
		// 				.then(r => {
		// 					jweixin.ready(() => {
		// 						jweixin.chooseWXPay({
		// 							...r.data.config,
		// 							success() {
		// 								mHelper.toast('支付成功');
		// 								mRouter.redirectTo({ route });
		// 							},
		// 							fail(res) {
		// 								// 支付成功后的回调函数
		// 								mHelper.toast('支付已取消');
		// 							}
		// 						});
		// 					});
		// 				});
		// 			// #endif
		// 		}
		// 	});
		// // #endif
	},

	/*
	 *@des 支付宝支付
	 *
	 *@param order_group 订单:order;充值:recharge;
	 *@param data 订单 {“order_id”:199} 充值 {“money”:100};
	 */

	async aliPay(order_group, data, route = '/pages/user/money/success') {
		// #ifdef MP-QQ
		mHelper.toast('QQ小程序不支持支付宝充值');
		return;
		// #endif
		// #ifdef MP-WEIXIN
		mHelper.toast('微信小程序不支持支付宝充值');
		return;
		// #endif


		console.log("111111111111111111111111",data)
		console.log(" API.memberPayApi", API.memberPayApi)
				console.log(" API.payMethod",  data.payMethod)
						console.log(" API.orderGroup", order_group)
								console.log(" API.memberId", data.memberId?data.memberId:0)
										console.log(" API.amount", data.memberId?data.memberId:0)


		await $.ajax({
			url: API.memberPayApi,
			data: {
				// #ifdef H5
				trade_type: 'wap',
				// #endif
				// #ifdef APP-PLUS
				trade_type: 'app',
				// #endif
				payOrderNo: data.orderNo,
				payMethod: data.payMethod,
				orderGroup:order_group,
				memberId: data.memberId?data.memberId:0,
				amount: data.amount?data.amount:0
			},
			method: 'POST',
			success(res) {

						console.log(" API.res", res)
				// #ifdef H5
				window.location.href = res.data.config.config;
				// #endif
					console.log(res.data.message)
				// #ifdef APP-PLUS
				uni.requestPayment({
					provider: 'alipay',
					orderInfo: res.data.message, //微信、支付宝订单数据
					success: function() {
						mHelper.toast('支付成功');
						mRouter.redirectTo({ route });
						$.go('/pages/order/suc', 2);
					},
					fail: function(err) {
						console.log(err)
						mHelper.toast('支付已取消');
					}
				});
				// #endif

		    }
		})

	},

	/*
	 *@des 余额支付
	 *
	 *@param data 支付参数
	 */
	async balancePay(order_group,data, route = '/pages/user/money/success') {

		await $.ajax({
			url: API.memberPayApi,
			data: {
				orderGroup:order_group,
				payOrderNo: data.orderNo,
				payMethod: data.payMethod,
			},
			method: 'POST',
			success(res) {
				console.log('res', res.data);
					mHelper.toast('支付成功');
				$.go('/pages/order/suc', 2);

		    },
			fail: function(err) {
				console.log(err)
				mHelper.toast('支付已取消');
					$.go('/pages/order/suc', 2);
			}
		})


	}
};
